#include "Graphics/IDeviceBufferManagerBase.h"

#include "Graphics/VertexBufferBinding.h"
#include "Graphics/VertexDeclaration.h"

namespace tyro
{
	namespace Graphics
	{


		VertexBufferBinding* IDeviceBufferManagerBase::CreateVertexBufferBinding()
		{
			return CreateVertexBufferBindingImpl();
		}

		VertexDeclaration* IDeviceBufferManagerBase::CreateVertexDeclaration()
		{
			return CreateVertexDeclarationImpl();
		}

		IDeviceBufferManagerBase::IDeviceBufferManagerBase()
		{

		}

		VertexBufferBinding* IDeviceBufferManagerBase::CreateVertexBufferBindingImpl()
		{
			VertexBufferBinding* binding = new VertexBufferBinding;
			vertexBufferBindings.insert(binding);
			return binding;
		}

		VertexDeclaration* IDeviceBufferManagerBase::CreateVertexDeclarationImpl()
		{
			VertexDeclaration* decl = new VertexDeclaration;
			vertexDeclarations.insert(decl);
			return decl;
		}

	}
}